home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Graphics Plus
/
Graphics Plus.iso
/
amiga
/
animutil
/
playsr
/
playsr.arc
/
object.h
< prev
next >
Wrap
C/C++ Source or Header
|
1988-11-10
|
3KB
|
109 lines
#define PRP_SURFACE 0
#define PRP_BRUSH PRP_SURFACE + 1
#define PRP_WRAP PRP_BRUSH + 1
#define PRP_STENCIL PRP_WRAP + 1
#define PRP_TEXTURE PRP_STENCIL + 1
#define PRP_MATTER PRP_TEXTURE + 1
#define PRP_INDEX PRP_MATTER + 1
#define PRP_SHINY PRP_INDEX + 1
#define PRP_HARD PRP_SHINY + 1
#define PRP_BLEND PRP_HARD + 1
#define PRP_SMOOTH PRP_BLEND + 1
#define PRP_SHADE PRP_SMOOTH + 1
#define PRP_PHONG PRP_SHADE + 1
#define PRP_GLOSSY PRP_PHONG + 1
#define PRP_QUICK PRP_GLOSSY + 1
#define PRP_EXTERN PRP_QUICK + 1
#define NUM_OBJ_PROPS (PRP_EXTERN + 1)
#define Z_WRAP 0x02
#define X_WRAP 0x01
#define ABS_TRA 0x0001
#define ABS_ROT 0x0002
#define ABS_SCL 0x0004
#define LOC_TRA 0x0010
#define LOC_ROT 0x0020
#define LOC_SCL 0x0040
#define X_ALIGN 0x0100
#define Y_ALIGN 0x0200
#define Z_ALIGN 0x0400
#define FOLLOW_ME 0x1000
typedef struct story {
UBYTE Path[18]; /* 18 bytes */
VECTOR Translate; /* 12 bytes */
VECTOR Rotate; /* 12 bytes */
VECTOR Scale; /* 12 bytes */
UWORD info; /* 2 bytes */
} STORY; /* 56 bytes total */
typedef struct tforms {
UBYTE Load[80]; /* 80 bytes */
VECTOR Position; /* 12 bytes */
VECTOR Size; /* 12 bytes */
MATRIX Alignment; /* 36 bytes */
} TFORM; /* 140 bytes total */
typedef struct barfu {
UWORD Shape; /* 2 bytes */
UWORD Lamp; /* 2 bytes */
struct object *Parent; /* 4 bytes */
ULONG Number; /* 4 bytes */
VECTOR Position; /* 12 bytes */
VECTOR A; /* 12 bytes */
VECTOR B; /* 12 bytes */
VECTOR C; /* 12 bytes */
VECTOR S; /* 12 bytes */
} SUBOBJ, *SUBPTR; /* 72 bytes total */
typedef struct object {
struct object *Parent; /* 4 bytes */
struct object *Child; /* 4 bytes */
struct object *Older; /* 4 bytes */
struct object *Younger; /* 4 bytes */
STORY *Story; /* 4 bytes */
SUBOBJ Object; /* 72 bytes */
UBYTE Props [NUM_OBJ_PROPS]; /* 16 bytes */
UBYTE Name [18]; /* 18 bytes */
UWORD PCount; /* 2 bytes */
UWORD ECount; /* 2 bytes */
ULONG TCount; /* 2 bytes */
VECTOR *Points; /* 4 bytes (12 bytes) */
UWORD *Edges; /* 4 bytes ( 8 bytes) */
UWORD *Connects; /* 4 bytes (12 bytes) */
SUBOBJ *Subjects; /* 4 bytes (68 bytes) */
UWORD *Enumer; /* 4 bytes ( 2 bytes) */
VECTOR *Phongs; /* 4 bytes (12 bytes) */
COLOR *DList; /* 4 bytes ( 3 bytes) */
COLOR *RList; /* 4 bytes ( 3 bytes) */
COLOR *TList; /* 4 bytes ( 3 bytes) */
float Intensity; /* 4 bytes */
ULONG Diffuse; /* 4 bytes */
ULONG Reflect; /* 4 bytes */
ULONG Transmit; /* 4 bytes */
float Params [16]; /* 64 bytes */
TFORM *Transform; /* 4 bytes */
} OBJECT, *OBJPTR; /* 252 bytes total */
typedef struct tale {
struct tale *Next; /* 4 bytes */
OBJECT *Affects; /* 4 bytes */
OBJECT *Causes; /* 4 bytes */
OBJECT *Follows; /* 4 bytes */
STORY Story; /* 44 bytes */
MATRIX Align; /* 36 bytes */
UWORD IsLoop; /* 2 bytes */
UWORD LoopEdge; /* 2 bytes */
} TALE; /* 96 bytes total */
typedef struct scanner {
struct scanner *Prev; /* 4 bytes */
struct scanner *Next; /* 4 bytes */
VECTOR P; /* 12 bytes */
VECTOR dP; /* 12 bytes */
SUBPTR Owner; /* 4 bytes */
long cnt; /* 4 bytes */
} SCAN, *SCANPTR; /* 40 bytes total */